File: /var/www/html/wpskycap/wp-content/plugins/wpcf7-recaptcha/assets/js/wpcf7-recaptcha-controls.js
( function() {
let recaptchaWidgets = [];
recaptchaCallback = function() {
let forms = document.getElementsByTagName( 'form' );
let pattern = /(^|\s)g-recaptcha(\s|$)/;
for ( let i = 0; i < forms.length; i++ ) {
let recaptchas = forms[ i ].getElementsByClassName( 'wpcf7-recaptcha' );
for ( let j = 0; j < recaptchas.length; j++ ) {
let sitekey = recaptchas[ j ].getAttribute( 'data-sitekey' );
if ( recaptchas[ j ].className && recaptchas[ j ].className.match( pattern ) && sitekey ) {
let params = {
'sitekey': sitekey,
'type': recaptchas[ j ].getAttribute( 'data-type' ),
'size': recaptchas[ j ].getAttribute( 'data-size' ),
'theme': recaptchas[ j ].getAttribute( 'data-theme' ),
'align': recaptchas[ j ].getAttribute( 'data-align' ),
'badge': recaptchas[ j ].getAttribute( 'data-badge' ),
'tabindex': recaptchas[ j ].getAttribute( 'data-tabindex' )
};
let callback = recaptchas[ j ].getAttribute( 'data-callback' );
if ( callback && 'function' == typeof window[ callback ] ) {
params[ 'callback' ] = window[ callback ];
}
let expired_callback = recaptchas[ j ].getAttribute( 'data-expired-callback' );
if ( expired_callback && 'function' == typeof window[ expired_callback ] ) {
params[ 'expired-callback' ] = window[ expired_callback ];
}
let widget_id = grecaptcha.render( recaptchas[ j ], params );
recaptchaWidgets.push( widget_id );
break;
}
}
}
};
/**
* Reset the reCaptcha when Contact Form 7 gives us:
* - Spam
* - Success
* - Fail
*
* @return void
*/
document.addEventListener( 'wpcf7submit', function( event ) {
switch ( event.detail.status ) {
case 'spam':
case 'mail_sent':
case 'mail_failed':
for ( let i = 0; i < recaptchaWidgets.length; i++ ) {
grecaptcha.reset( recaptchaWidgets[ i ] );
}
}
}, false );
} )();